package com.example.entity;

import lombok.Data;

import javax.persistence.*;

/**
 * 系统文件元数据实体类
 * <p>
 * 对应数据库表：nx_system_file_info
 * </p>
 * <p>
 * 核心功能：
 * 1. 存储文件系统元数据信息
 * 2. 维护文件原始名称与系统存储名称的映射关系
 * 3. 支持文件管理系统的基础操作
 * </p>
 * <p>
 * 设计说明：
 * 1. 使用Lombok @Data注解自动生成getter/setter
 * 2. 字段命名遵循小驼峰式，数据库列名使用下划线分隔
 * 3. 主键采用自增策略（GenerationType.IDENTITY）
 * </p>
 */
@Data
@Table(name = "nx_system_file_info")
public class NxSystemFileInfo {

	/**
	 * 主键ID（自增）
	 * 对应数据库列：id
	 * 说明：数据库自动生成，业务层无需赋值
	 */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

	/**
	 * 文件原始名称（用户上传时的名称）
	 * 对应数据库列：originName
	 */
	@Column(name = "originName")
	private String originName;

	/**
	 * 系统存储文件名
	 * 对应数据库列：fileName
	 */
	@Column(name = "fileName")
	private String fileName;

	/**
	 * 文件hash值（唯一）
	 * 对应数据库列：file_hash
	 */
	@Column(name = "file_hash")
	private String fileHash;

//	public Long getId() {
//		return id;
//	}
//
//	public void setId(Long id) {
//		this.id = id;
//	}
//
//	public String getOriginName() {
//		return originName;
//	}
//
//	public void setOriginName(String originName) {
//		this.originName = originName;
//	}
//
//	public String getFileName() {
//		return fileName;
//	}
//
//	public void setFileName(String fileName) {
//		this.fileName = fileName;
//	}
}
